#include "SceneModel/Entity/IEntity.h"

namespace GCRE {
	namespace SceneModel {

		RuntimeClass IEntity::classIEntity = { "IEntity", NULL, NULL, NULL };
		RuntimeClass* RuntimeClass::m_pFirstClass = NULL;
		static CLASSINIT _init_IEntity( &IEntity::classIEntity );
		BasicType::SFUInt IEntity::m_numEntity = 0;

		RuntimeClass* IEntity::GetRuntimeClass() const
		{
			return &IEntity::classIEntity;
		}

		BasicType::SFBool IEntity::IsKindOf( const RuntimeClass* pClass ) const
		{
			RuntimeClass* pClassThis = GetRuntimeClass();
			while( pClassThis != NULL )
			{
				if ( pClassThis == pClass )
					return true;
				pClassThis = pClassThis->m_pBaseClass;
			}
			return false;
		}

		IEntity::IEntity()
		{
			m_ID = m_numEntity++;
		}

		IEntity::~IEntity()
		{

		}

	}
}